﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using RN.Entidades;
using CAD.DAO;
using System.Data;

namespace RN.Componentes
{
    public class CKardex
    {
        #region DMLS
        public static bool Insertar(Kardex objProxy)
        {


            DAOKardex daoProxy = new DAOKardex();
            return daoProxy.Insertar(objProxy.LKARDEX_ID1, objProxy.DTFECHA_DT1, objProxy.SESTADO1, objProxy.SDESCRIPCION_DSC1, objProxy.BDEVOLUCION_FL1, objProxy.IVALOR1, objProxy.ICONCURRENCIA1, objProxy.LPUNTOS_ID1.LPUNTOS_ID1, objProxy.LACTIVOS_ID1.LACTIVOS_ID1, objProxy.LPERSONAL_ID1.LPERSONAL_ID1) > 0;

        }
        public static bool ActualizarAREA(Kardex objProxy)
        {
            ValidationException x = new ValidationException();
            if (objProxy.LKARDEX_ID1 <= 0)
                x.AgregarError("Ingrese el código");



            if (x.Cantidad > 0)
                throw x;

            DAOKardex daoProxy = new DAOKardex();
            return daoProxy.Actualizar(objProxy.LKARDEX_ID1, objProxy.DTFECHA_DT1, objProxy.SESTADO1, objProxy.SDESCRIPCION_DSC1, objProxy.BDEVOLUCION_FL1, objProxy.IVALOR1, objProxy.ICONCURRENCIA1, objProxy.LPUNTOS_ID1.LPUNTOS_ID1, objProxy.LACTIVOS_ID1.LACTIVOS_ID1, objProxy.LPERSONAL_ID1.LPERSONAL_ID1);

        }
        public static bool EliminarKardex(int LKARDEX_ID1)
        {
            ValidationException x = new ValidationException();
            if (LKARDEX_ID1 <= 0)
                x.AgregarError("Ingrese el código");

            if (x.Cantidad > 0)
                throw x;

            DAOFamilia daoProxy = new DAOFamilia();
            return daoProxy.Eliminar(LKARDEX_ID1);
        }
        #endregion
        #region Selects
        public static List<Kardex> TraerKardex()
        {
            DAOKardex daoProxy = new DAOKardex();
            DataSet dtsProxy = daoProxy.Traer();
            return CargarLista(dtsProxy.Tables[0]);
        }
        public static Kardex TraerXId(int LKARDEX_ID1)
        {
            DAOKardex daoProxy = new DAOKardex();
            DataSet dtsProxy = daoProxy.TraerXId(LKARDEX_ID1);


            return Cargar(dtsProxy.Tables[0].Rows[0]);
        }

        #endregion
        #region Metodos Privados
        private static List<Kardex> CargarLista(DataTable tabla)
        {
            List<Kardex> lstProxy = new List<Kardex>();

            foreach (DataRow fila in tabla.Rows)
            {
                lstProxy.Add(Cargar(fila));
            }
            return lstProxy;
        }
        private static Kardex Cargar(DataRow fila)
        {
            Kardex objProxy = new Kardex();
            objProxy.LKARDEX_ID1 = Convert.ToInt32(fila["LKARDEX_ID1"]);
            objProxy.IVALOR1 = Convert.ToInt32(fila["IVALOR"]);
            objProxy.LPERSONAL_ID1.LPERSONAL_ID1 = Convert.ToInt32(fila["LPERSONAL_ID"]);
            objProxy.SDESCRIPCION_DSC1 = fila["SDESCRIPCION1_DSC"].ToString();
            objProxy.LPUNTOS_ID1.LPUNTOS_ID1 = Convert.ToInt32(fila["LPUNTOS_ID1"]);
            objProxy.ICONCURRENCIA1 = Convert.ToInt32(fila["ICONCURRENCIA"]);
            return objProxy;
        }
        #endregion
    }



}
